1
Model Eksekusi SIMT dan Pembagian Warp
AI032Lesson 6
00:00

Model SIMT (Instruksi Tunggal, Thread Ganda) adalah jantung arsitektur GPU. Meskipun Anda menulis kode untuk thread individu, perangkat keras mengoordinasikan mereka menjadi hierarki dua tingkat yaitu grid dan blok. Untuk memaksimalkan efisiensi, perangkat keras lebih lanjut membagi blok-blok ini menjadi unit yang terdiri dari 32 thread disebut warp.

1. SIMT vs. SIMD

Berbeda dengan SIMD CPU (seperti SSE/AVX) di mana Anda secara manual menyusun data ke dalam register, SIMT memungkinkan thread tampak independen. Perangkat keras secara otomatis mengelompokkan thread menjadi warp, mengambil satu instruksi untuk seluruh 32 thread agar dieksekusi secara sinkron.

2. Aturan Linearisasi

Pemrogram menggunakan threadIdx.x, y, z untuk logika, namun perangkat keras mengubahnya menjadi urutan 1D untuk penjadwalan:

Indeks = x + (y × blockDim.x) + (z × blockDim.x × blockDim.y)
Blok 2D(8 × 8)Warp 0: ID 0-31Warp 1: ID 32-63

Karena dimensi x adalah indeks yang paling cepat berubah, sehingga thread dengan nilai threadIdx.x yang berurutan biasanya terdistribusi pada warp yang sama, yang sangat penting untuk koalesensi memori.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>